#include <STC15F2K60S2.H>
#include <intrins.H>

sbit TX = P1^0;
sbit RX = P1^1;


void Delay13us()		//@12.000MHz
{
	unsigned char i;

	_nop_();
	_nop_();
	i = 36;
	while (--i);
}



void ultra_int()
{
	unsigned char i;
	for(i=0;i<8;i++)
	{
		TX = 1;
		Delay13us()	;
		TX = 0;
		Delay13us()	;
	}


}

unsigned int ultra()
{
	unsigned int  legth ;
	CMOD =0x00;
	CH = CL = 0;
	EA = 0;
	ultra_int();
	EA = 1;
	CR = 1;
	while((RX ==1) && (CF == 0));
	CR = 0;
	if(CF == 0)
	{
		legth = (CH <<8) | CL;
		return (legth*0.017);
	}else{
		
			CF =0;
			return 0;
		}

}

